//package com.yunhe.device.repository.device;
//
//import com.yunhe.device.domain.device.ConnectivityNode;
//import org.springframework.data.neo4j.annotation.Query;
//import org.springframework.data.neo4j.repository.Neo4jRepository;
//import org.springframework.data.repository.query.Param;
//import org.springframework.stereotype.Repository;
//
///**
// * 连接节点数据仓库
// * @desc 连接节点数据仓库定义
// * @author liuronglei
// */
//@Repository
//public interface ConnectivityNodeRepository extends Neo4jRepository<ConnectivityNode, Long> {
//    /**
//     * 根据代码获得连接节点对象
//     *
//     * @param code 代码
//     */
//    ConnectivityNode findByCode(Long code);
//
//    /**
//     * 根据代码删除连接节点对象
//     *
//     * @param code 代码
//     */
//    Long deleteByCode(Long code);
//
//    /**
//     * 连接节点绑定设备
//     * @param code 代码
//     * @param devCode 设备代码
//     * @param terminal 端子代码
//     */
//    @Query("match (d) where d.code = {devCode} " +
//            "match (c:ConnectivityNode) where c.code = {code}" +
//            "create(c)-[:HAS_SHUNT_DEV{terminalCode:{terminal}}]->(d)")
//    void bindDev(@Param("code") Long code,
//                    @Param("devCode") Long devCode,
//                    @Param("terminal") String terminal);
//
//    /**
//     * 连接节点解绑设备
//     * @param code 代码
//     * @param devCode 设备代码
//     */
//    @Query("match (c:ConnectivityNode{code:{code}})-[r:HAS_SHUNT_DEV]->(d{code:{devCode}}) delete r")
//    void unbindDev(@Param("code") Long code,
//                 @Param("devCode") Long devCode);
//
//    /**
//     * 根据代码获取连接节点绑定的设备
//     * @param code
//     * @return
//     */
//    @Query("match (c:ConnectivityNode) where c.code={code} match(c)-[:HAS_SHUNT_DEV]->(d) return d")
//    Iterable<Object> findDevByCode(@Param("code") Long code);
//}